<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
    //定义一个函数，求第二十位的斐波那契数是多少
    // function fn(n) {
    //         for (let i = 0; i <= 20; i++) {
    //             if (typeof n !== "number" || n < 1) {
    //                 return n;
    //             } else if (n <= 2) {
    //                 return 1;
    //             } else {
    //                 return fn(n - 1) + fn(n - 2)
    //             }
    //         }
    //     }
    //     var sum = fn(20)
    //     console.log("第二十斐波那契数:" + sum);


    // 2、定义一个函数，给定一个年份、月份，判断该月多少天
    // const days = function fn(year, mons) {
    //         let arr = []
    //         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    //             arr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    //         } else {
    //             arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    //         }
    //         return arr[mons - 1]

    //     }
    //     console.log(days(2022, 9));
    // 3、求100-999之间的水仙花数 最后放入一个数组中  水仙花数：是一个三位数，该三位数各位数字立方之和等于该数本身，例如153就是一个水仙花数
        // let arr = [];
        // let a = 0, b = 0, c = 0;
        // for (let i = 100; i < 1000; i++) {
        //     a = i % 10;
        //     b = parseInt(((i / 10) % 10));
        //     c = parseInt(i / 100);
        //     if (i === a * a * a + b * b * b + c * c * c) {
        //         arr.push(i)
               
        //     }
        // }
        // console.log(arr);

    // 4,求现在距离2023年01月01日还有多少天
    // let time1 = new Date('2022-9-21 00:00:00').getTime();
    // let time2 = new Date('2023-1-1 00:00:00').getTime();
    // function fn3(nowTime,targetTime){
    //     let timeDifference = targetTime - nowTime
    //     let surplus =timeDifference / 1000 / 3600 /24;
    //     return surplus;
    // }
    // console.log(fn3(time1,time2));

    // 5、数组a由1～20个数字组成，每个数字为4个，总共80个元素
    // 随机取出15个元素组成新的数组b，编写一个函数对b进行处理，如果b满足每个数字为3个
    // 如：[1,1,1,2,2,2,3,3,3,4,4,4,11,11,11]则返回1，否则返回0
    // let a = [1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20];
    // function fn4(){
    //     let flag;
    //     let b = [];
    //     for(let i = 0;i<15;i++){
    //         let res =Math.floor(Math.random()*80);
    //         b.push(a[res]);
    //     }
    //     let obj = b.reduce(function(prev,item){
    //         prev[item]= prev[item] + 1 || 1;
    //         return prev
    //     },{})
    //     console.log(obj);
    //     let temArr = [];
    //     for(let k in obj){
    //         temArr.push(obj[k]);
    //     }
    //     console.log(temArr);
    //     flag = temArr.every(function(item){
    //         return item ==3;
    //     })
    //     return flag;
    // }
    // console.log(fn4());

    // 猜数字
    let flag =false;
    for(let i = 0;i<5;i++){
        userNum = prompt('请输入一个数字')

        fn5(userNum);
        if(flag){
            break;
        }
    }
    function fn5(userNum){
            if(userNum == randomNum){
                alert("牛逼，猜对了");
                flag = true;
            }else if(userNum > randomNum){
                alert("猜大了，再来")
            }else{
                alert("猜小了，再来")
            }
        }
    </script>
</body>
</html>